package com.nomi.blog.utils;

public class UserContext {
    // 使用ThreadLocal存储当前用户的ID，确保每个线程都有独立的用户ID实例
    private static final ThreadLocal<Long> currentUserId = new ThreadLocal<>();
    /**
     * 设置当前用户的ID
     * @param userId 用户ID
     */
    public static void setCurrentUserId(Long userId)
    {
        currentUserId.set(userId);
    }

    /**
     * 获取当前用户的ID
     * @return 当前用户的ID，如果未设置则返回null
     */
    public static Long getCurrentUserId()
    {
        return currentUserId.get();
    }

    /**
     * 移除当前线程中的用户ID
     */
    public static void removeCurrentUserId()
    {
        currentUserId.remove();
    }
}
